package com.googlecode.cswish.model;

import java.io.Serializable;

import com.googlecode.cswish.annotation.ParamScope;
import com.googlecode.cswish.annotation.ScopeValue;

/**
 * Hold a object, the scope of referenced object is session level, it's used to share the parameter value
 *  in different service method of the same service
 * 
 * propInfo.className is the simple model name, so it can pass the parameter in the same action
 * 
 * @author Jerry.Feng 2008-12-6
 */
@ParamScope(scopeKey="#propInfo.className + '.' + #propInfo.propertyName",
		visible=false, value="new com.googlecode.cswish.model.Reference()", scope=ScopeValue.SESSION)
public class Reference<T> implements Serializable {
	private T value;	
	
	public T get() {
		return value;
	}

	public void set(T value) {
		this.value = value;
	}
}